/**
 * 
 */
package com.zuipin.service;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zuipin.entity.WinningRecord;
import com.zuipin.framework.result.PageResult;
import com.zuipin.util.Pagination;
import com.zuipin.vo.WinningRecordVo;

/** 
 * 中奖记录查询
 * 
 * @ClassName: IWinningRecordService 
 * @author wuyicheng
 * @time 2017年5月5日上午11:48:46 
 */
public interface IWinningRecordService {
	
	/**
	 * 查询（根据主键ID查询）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public WinningRecord findById(@Param("id") Long id);
	
	/**
	 * 删除（根据主键ID删除）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int deleteByPrimaryKey(@Param("id") Long id);
	
	/**
	 * 添加 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int insert(WinningRecord record);
	
	/**
	 * 修改 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int update(WinningRecord record);
	
	/** 
	 *
	 * @Title: countUseNumber 
	 * @author: wuyicheng
	 * @date: 2017年5月5日下午5:29:11 
	 * @param memberId
	 * @param sysId
	 * @return
	 * @return: long
	 * @throws 
	 */
	public long countUseNumber(Long memberId, Long sysId);
	
	/** 
	 *
	 * @Title: searchByPage 
	 * @author: wuyicheng
	 * @date: 2017年5月9日下午2:01:48 
	 * @param pagination
	 * @return
	 * @return: List<WinningRecord>
	 * @throws 
	 */
	public List<WinningRecord> searchByPage(Pagination pagination);
	
	public PageResult<List<WinningRecordVo>> seachWinningRecordPage(WinningRecord wr,
			Integer pageSize, Integer pageNumber)
			throws IllegalAccessException, InvocationTargetException, NoSuchMethodException;
	
}
